﻿using System;
namespace Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister {
    
    
    [global::Xtee.Core.Attributes.XmlTypeAttribute(Name="pol_soiduk2_isik", Namespace="http://producers.liiklusregister.xtee.riik.ee/producer/liiklusregister", Target=typeof(PolSoiduk2Isik))]
    public class PolSoiduk2IsikSerializer : global::Xtee.Core.Types.AbstractXteeSerializable {
        
        protected IPolSoiduk2Isik clazz;
        
        public PolSoiduk2IsikSerializer(IPolSoiduk2Isik clazz) {
            this.clazz = clazz;
        }
        
        public override void WriteXml(global::Xtee.Core.IXteeXmlWriter Writer) {
            base.WriteXml(Writer);
            Writer.WriteStartElement("isik_id");
            Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "integer");
            Writer.WriteString(new global::Xtee.Core.Schema.XsdInteger(((decimal)(clazz.IsikId))).ToString());
            Writer.WriteEndElement();
            Writer.WriteStartElement("seos");
            if (clazz.Seos!=null) {
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.Seos))).ToString());
            }
            else {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException("Nullable is not allowed for element : Seos");
            }
            Writer.WriteEndElement();
            Writer.WriteStartElement("eesnimi");
            if (clazz.Eesnimi!=null) {
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.Eesnimi))).ToString());
            }
            else {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException("Nullable is not allowed for element : Eesnimi");
            }
            Writer.WriteEndElement();
            Writer.WriteStartElement("nimi");
            if (clazz.Nimi!=null) {
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.Nimi))).ToString());
            }
            else {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException("Nullable is not allowed for element : Nimi");
            }
            Writer.WriteEndElement();
            Writer.WriteStartElement("kood");
            if (clazz.Kood!=null) {
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.Kood))).ToString());
            }
            else {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException("Nullable is not allowed for element : Kood");
            }
            Writer.WriteEndElement();
            Writer.WriteStartElement("synniaeg");
            if (clazz.Synniaeg!=null) {
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.Synniaeg))).ToString());
            }
            else {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException("Nullable is not allowed for element : Synniaeg");
            }
            Writer.WriteEndElement();
            Writer.WriteStartElement("synniriik");
            if (clazz.Synniriik!=null) {
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.Synniriik))).ToString());
            }
            else {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException("Nullable is not allowed for element : Synniriik");
            }
            Writer.WriteEndElement();
            Writer.WriteStartElement("telefon");
            if (clazz.Telefon!=null) {
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.Telefon))).ToString());
            }
            else {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException("Nullable is not allowed for element : Telefon");
            }
            Writer.WriteEndElement();
            Writer.WriteStartElement("elukoht");
            if (clazz.Elukoht!=null) {
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.Elukoht))).ToString());
            }
            else {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException("Nullable is not allowed for element : Elukoht");
            }
            Writer.WriteEndElement();
            Writer.WriteStartElement("juhtimisoigus_kehtib");
            Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "boolean");
            Writer.WriteString(new global::Xtee.Core.Schema.XsdBoolean(((bool)(clazz.JuhtimisoigusKehtib))).ToString());
            Writer.WriteEndElement();
            Writer.WriteStartElement("juhiload");
            if (clazz.Juhiload!=null) {
                global::Xtee.Core.SerializationMetadata metaJuhiload = this.GetMetaData(clazz.Juhiload);
                Writer.WriteTypeAttribute(metaJuhiload.TypeQualifiedName.Namespace, metaJuhiload.TypeQualifiedName.Name);
                metaJuhiload.NewSerializer(clazz.Juhiload).WriteXml(Writer);
            }
            else {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException("Nullable is not allowed for element : Juhiload");
            }
            Writer.WriteEndElement();
            Writer.WriteStartElement("juhtimisoigused");
            if (clazz.Juhtimisoigused!=null) {
                global::Xtee.Core.SerializationMetadata metaJuhtimisoigused = this.GetMetaData(clazz.Juhtimisoigused);
                Writer.WriteTypeAttribute(metaJuhtimisoigused.TypeQualifiedName.Namespace, metaJuhtimisoigused.TypeQualifiedName.Name);
                metaJuhtimisoigused.NewSerializer(clazz.Juhtimisoigused).WriteXml(Writer);
            }
            else {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException("Nullable is not allowed for element : Juhtimisoigused");
            }
            Writer.WriteEndElement();
            Writer.WriteStartElement("juhtimisoiguse_kategooriad");
            if (clazz.JuhtimisoiguseKategooriad!=null) {
                global::Xtee.Core.SerializationMetadata metaJuhtimisoiguseKategooriad = this.GetMetaData(clazz.JuhtimisoiguseKategooriad);
                Writer.WriteTypeAttribute(metaJuhtimisoiguseKategooriad.TypeQualifiedName.Namespace, metaJuhtimisoiguseKategooriad.TypeQualifiedName.Name);
                metaJuhtimisoiguseKategooriad.NewSerializer(clazz.JuhtimisoiguseKategooriad).WriteXml(Writer);
            }
            else {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException("Nullable is not allowed for element : JuhtimisoiguseKategooriad");
            }
            Writer.WriteEndElement();
        }
        
        public override void ReadXml(global::Xtee.Core.IXteeXmlReader Reader) {
            base.ReadXml(Reader);
        START:
            if ((Reader.LocalName == "isik_id")) {
                goto isik_id;
            }
            else {
                if ((Reader.LocalName == "seos")) {
                    goto seos;
                }
                else {
                    if ((Reader.LocalName == "eesnimi")) {
                        goto eesnimi;
                    }
                    else {
                        if ((Reader.LocalName == "nimi")) {
                            goto nimi;
                        }
                        else {
                            if ((Reader.LocalName == "kood")) {
                                goto kood;
                            }
                            else {
                                if ((Reader.LocalName == "synniaeg")) {
                                    goto synniaeg;
                                }
                                else {
                                    if ((Reader.LocalName == "synniriik")) {
                                        goto synniriik;
                                    }
                                    else {
                                        if ((Reader.LocalName == "telefon")) {
                                            goto telefon;
                                        }
                                        else {
                                            if ((Reader.LocalName == "elukoht")) {
                                                goto elukoht;
                                            }
                                            else {
                                                if ((Reader.LocalName == "juhtimisoigus_kehtib")) {
                                                    goto juhtimisoigus_kehtib;
                                                }
                                                else {
                                                    if ((Reader.LocalName == "juhiload")) {
                                                        goto juhiload;
                                                    }
                                                    else {
                                                        if ((Reader.LocalName == "juhtimisoigused")) {
                                                            goto juhtimisoigused;
                                                        }
                                                        else {
                                                            if ((Reader.LocalName == "juhtimisoiguse_kategooriad")) {
                                                                goto juhtimisoiguse_kategooriad;
                                                            }
                                                            else {
                                                                return;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        isik_id:
            if (Reader.IsElementNil()) {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>pol_soiduk2_isik>isik_id");
            }
            clazz.IsikId = new global::Xtee.Core.Schema.XsdInteger(Reader.ReadElementString("isik_id")).Value;
            goto START;
        seos:
            if (Reader.IsElementNil()) {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>pol_soiduk2_isik>seos");
            }
            clazz.Seos = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("seos")).Value;
            goto START;
        eesnimi:
            if (Reader.IsElementNil()) {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>pol_soiduk2_isik>eesnimi");
            }
            clazz.Eesnimi = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("eesnimi")).Value;
            goto START;
        nimi:
            if (Reader.IsElementNil()) {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>pol_soiduk2_isik>nimi");
            }
            clazz.Nimi = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("nimi")).Value;
            goto START;
        kood:
            if (Reader.IsElementNil()) {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>pol_soiduk2_isik>kood");
            }
            clazz.Kood = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("kood")).Value;
            goto START;
        synniaeg:
            if (Reader.IsElementNil()) {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>pol_soiduk2_isik>synniaeg");
            }
            clazz.Synniaeg = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("synniaeg")).Value;
            goto START;
        synniriik:
            if (Reader.IsElementNil()) {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>pol_soiduk2_isik>synniriik");
            }
            clazz.Synniriik = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("synniriik")).Value;
            goto START;
        telefon:
            if (Reader.IsElementNil()) {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>pol_soiduk2_isik>telefon");
            }
            clazz.Telefon = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("telefon")).Value;
            goto START;
        elukoht:
            if (Reader.IsElementNil()) {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>pol_soiduk2_isik>elukoht");
            }
            clazz.Elukoht = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("elukoht")).Value;
            goto START;
        juhtimisoigus_kehtib:
            if (Reader.IsElementNil()) {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>pol_soiduk2_isik>juhtimisoigus_kehtib");
            }
            clazz.JuhtimisoigusKehtib = new global::Xtee.Core.Schema.XsdBoolean(Reader.ReadElementString("juhtimisoigus_kehtib")).Value;
            goto START;
        juhiload:
            if (Reader.IsElementNil()) {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>pol_soiduk2_isik>juhiload");
            }
            global::Xtee.Core.SerializationMetadata metaJuhiload = this.GetMetaData<PolSoiduk2Isik.IJuhiloadType>(Reader, ">>pol_soiduk2_isik>juhiload", "http://producers.liiklusregister.xtee.riik.ee/producer/liiklusregister");
            clazz.Juhiload = metaJuhiload.NewEntity<PolSoiduk2Isik.IJuhiloadType>();
            if ((Reader.IsEmptyElement == false)) {
                Reader.ReadStartElement("juhiload");
                metaJuhiload.NewSerializer(clazz.Juhiload).ReadXml(Reader);
                Reader.ReadEndElement();
            }
            else {
                Reader.Skip();
            }
            goto START;
        juhtimisoigused:
            if (Reader.IsElementNil()) {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>pol_soiduk2_isik>juhtimisoigused");
            }
            global::Xtee.Core.SerializationMetadata metaJuhtimisoigused = this.GetMetaData<PolSoiduk2Isik.IJuhtimisoigusedType>(Reader, ">>pol_soiduk2_isik>juhtimisoigused", "http://producers.liiklusregister.xtee.riik.ee/producer/liiklusregister");
            clazz.Juhtimisoigused = metaJuhtimisoigused.NewEntity<PolSoiduk2Isik.IJuhtimisoigusedType>();
            if ((Reader.IsEmptyElement == false)) {
                Reader.ReadStartElement("juhtimisoigused");
                metaJuhtimisoigused.NewSerializer(clazz.Juhtimisoigused).ReadXml(Reader);
                Reader.ReadEndElement();
            }
            else {
                Reader.Skip();
            }
            goto START;
        juhtimisoiguse_kategooriad:
            if (Reader.IsElementNil()) {
                throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>pol_soiduk2_isik>juhtimisoiguse_kategooriad");
            }
            global::Xtee.Core.SerializationMetadata metaJuhtimisoiguseKategooriad = this.GetMetaData<PolSoiduk2Isik.IJuhtimisoiguseKategooriadType>(Reader, ">>pol_soiduk2_isik>juhtimisoiguse_kategooriad", "http://producers.liiklusregister.xtee.riik.ee/producer/liiklusregister");
            clazz.JuhtimisoiguseKategooriad = metaJuhtimisoiguseKategooriad.NewEntity<PolSoiduk2Isik.IJuhtimisoiguseKategooriadType>();
            if ((Reader.IsEmptyElement == false)) {
                Reader.ReadStartElement("juhtimisoiguse_kategooriad");
                metaJuhtimisoiguseKategooriad.NewSerializer(clazz.JuhtimisoiguseKategooriad).ReadXml(Reader);
                Reader.ReadEndElement();
            }
            else {
                Reader.Skip();
            }
            goto START;
        }
        
        [global::Xtee.Core.Attributes.XmlTypeAttribute(Name=">>pol_soiduk2_isik>juhiload", Namespace="http://producers.liiklusregister.xtee.riik.ee/producer/liiklusregister", Target=typeof(PolSoiduk2Isik.JuhiloadType))]
        public class JuhiloadTypeSerializer : global::Xtee.Core.Types.AbstractXteeSerializable {
            
            protected PolSoiduk2Isik.IJuhiloadType clazz;
            
            public JuhiloadTypeSerializer(PolSoiduk2Isik.IJuhiloadType clazz) {
                this.clazz = clazz;
            }
            
            public override void WriteXml(global::Xtee.Core.IXteeXmlWriter Writer) {
                base.WriteXml(Writer);
                for (int x = 0; ((clazz.Juhiluba != null) 
                            && (x < clazz.Juhiluba.Count)); x = (x + 1)) {
                    if (clazz.Juhiluba[x]!=null) {
                        Writer.WriteStartElement("juhiluba");
                        global::Xtee.Core.SerializationMetadata metaJuhiluba = this.GetMetaData(clazz.Juhiluba[x]);
                        Writer.WriteTypeAttribute(metaJuhiluba.TypeQualifiedName.Namespace, metaJuhiluba.TypeQualifiedName.Name);
                        metaJuhiluba.NewSerializer(clazz.Juhiluba[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
            }
            
            public override void ReadXml(global::Xtee.Core.IXteeXmlReader Reader) {
                base.ReadXml(Reader);
                if (Reader.LocalName=="juhiluba") {
                    clazz.Juhiluba = new System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IJuhiluba>();
                    for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                && (Reader.LocalName == "juhiluba")); ) {
                        if (Reader.IsElementNil()) {
                            throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>>pol_soiduk2_isik>juhiload>juhiluba");
                        }
                        global::Xtee.Core.SerializationMetadata metaJuhiluba = this.GetMetaData<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IJuhiluba>(Reader, "juhiluba", "http://producers.liiklusregister.xtee.riik.ee/producer/liiklusregister");
                        global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IJuhiluba item = metaJuhiluba.NewEntity<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IJuhiluba>();
                        clazz.Juhiluba.Add(item);
                        if ((Reader.IsEmptyElement == false)) {
                            Reader.ReadStartElement("juhiluba");
                            metaJuhiluba.NewSerializer(item).ReadXml(Reader);
                            Reader.ReadEndElement();
                        }
                        else {
                            Reader.Skip();
                        }
                    }
                }
            }
        }
        
        [global::Xtee.Core.Attributes.XmlTypeAttribute(Name=">>pol_soiduk2_isik>juhtimisoigused", Namespace="http://producers.liiklusregister.xtee.riik.ee/producer/liiklusregister", Target=typeof(PolSoiduk2Isik.JuhtimisoigusedType))]
        public class JuhtimisoigusedTypeSerializer : global::Xtee.Core.Types.AbstractXteeSerializable {
            
            protected PolSoiduk2Isik.IJuhtimisoigusedType clazz;
            
            public JuhtimisoigusedTypeSerializer(PolSoiduk2Isik.IJuhtimisoigusedType clazz) {
                this.clazz = clazz;
            }
            
            public override void WriteXml(global::Xtee.Core.IXteeXmlWriter Writer) {
                base.WriteXml(Writer);
                for (int x = 0; ((clazz.Juhtimisoigus != null) 
                            && (x < clazz.Juhtimisoigus.Count)); x = (x + 1)) {
                    if (clazz.Juhtimisoigus[x]!=null) {
                        Writer.WriteStartElement("juhtimisoigus");
                        global::Xtee.Core.SerializationMetadata metaJuhtimisoigus = this.GetMetaData(clazz.Juhtimisoigus[x]);
                        Writer.WriteTypeAttribute(metaJuhtimisoigus.TypeQualifiedName.Namespace, metaJuhtimisoigus.TypeQualifiedName.Name);
                        metaJuhtimisoigus.NewSerializer(clazz.Juhtimisoigus[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
            }
            
            public override void ReadXml(global::Xtee.Core.IXteeXmlReader Reader) {
                base.ReadXml(Reader);
                if (Reader.LocalName=="juhtimisoigus") {
                    clazz.Juhtimisoigus = new System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IJuhtimisoigus>();
                    for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                && (Reader.LocalName == "juhtimisoigus")); ) {
                        if (Reader.IsElementNil()) {
                            throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>>pol_soiduk2_isik>juhtimisoigused>juhtimisoigus");
                        }
                        global::Xtee.Core.SerializationMetadata metaJuhtimisoigus = this.GetMetaData<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IJuhtimisoigus>(Reader, "juhtimisoigus", "http://producers.liiklusregister.xtee.riik.ee/producer/liiklusregister");
                        global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IJuhtimisoigus item = metaJuhtimisoigus.NewEntity<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IJuhtimisoigus>();
                        clazz.Juhtimisoigus.Add(item);
                        if ((Reader.IsEmptyElement == false)) {
                            Reader.ReadStartElement("juhtimisoigus");
                            metaJuhtimisoigus.NewSerializer(item).ReadXml(Reader);
                            Reader.ReadEndElement();
                        }
                        else {
                            Reader.Skip();
                        }
                    }
                }
            }
        }
        
        [global::Xtee.Core.Attributes.XmlTypeAttribute(Name=">>pol_soiduk2_isik>juhtimisoiguse_kategooriad", Namespace="http://producers.liiklusregister.xtee.riik.ee/producer/liiklusregister", Target=typeof(PolSoiduk2Isik.JuhtimisoiguseKategooriadType))]
        public class JuhtimisoiguseKategooriadTypeSerializer : global::Xtee.Core.Types.AbstractXteeSerializable {
            
            protected PolSoiduk2Isik.IJuhtimisoiguseKategooriadType clazz;
            
            public JuhtimisoiguseKategooriadTypeSerializer(PolSoiduk2Isik.IJuhtimisoiguseKategooriadType clazz) {
                this.clazz = clazz;
            }
            
            public override void WriteXml(global::Xtee.Core.IXteeXmlWriter Writer) {
                base.WriteXml(Writer);
                for (int x = 0; ((clazz.JuhtimisoiguseKategooria != null) 
                            && (x < clazz.JuhtimisoiguseKategooria.Count)); x = (x + 1)) {
                    if (clazz.JuhtimisoiguseKategooria[x]!=null) {
                        Writer.WriteStartElement("juhtimisoiguse_kategooria");
                        global::Xtee.Core.SerializationMetadata metaJuhtimisoiguseKategooria = this.GetMetaData(clazz.JuhtimisoiguseKategooria[x]);
                        Writer.WriteTypeAttribute(metaJuhtimisoiguseKategooria.TypeQualifiedName.Namespace, metaJuhtimisoiguseKategooria.TypeQualifiedName.Name);
                        metaJuhtimisoiguseKategooria.NewSerializer(clazz.JuhtimisoiguseKategooria[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
            }
            
            public override void ReadXml(global::Xtee.Core.IXteeXmlReader Reader) {
                base.ReadXml(Reader);
                if (Reader.LocalName=="juhtimisoiguse_kategooria") {
                    clazz.JuhtimisoiguseKategooria = new System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IJuhtimisoiguseKategooria>();
                    for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                && (Reader.LocalName == "juhtimisoiguse_kategooria")); ) {
                        if (Reader.IsElementNil()) {
                            throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>>pol_soiduk2_isik>juhtimisoiguse_kategooriad>juhtimisoiguse_kategooria");
                        }
                        global::Xtee.Core.SerializationMetadata metaJuhtimisoiguseKategooria = this.GetMetaData<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IJuhtimisoiguseKategooria>(Reader, "juhtimisoiguse_kategooria", "http://producers.liiklusregister.xtee.riik.ee/producer/liiklusregister");
                        global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IJuhtimisoiguseKategooria item = metaJuhtimisoiguseKategooria.NewEntity<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IJuhtimisoiguseKategooria>();
                        clazz.JuhtimisoiguseKategooria.Add(item);
                        if ((Reader.IsEmptyElement == false)) {
                            Reader.ReadStartElement("juhtimisoiguse_kategooria");
                            metaJuhtimisoiguseKategooria.NewSerializer(item).ReadXml(Reader);
                            Reader.ReadEndElement();
                        }
                        else {
                            Reader.Skip();
                        }
                    }
                }
            }
        }
    }
}
